package com.zjcode.oa.mapper;

import java.util.LinkedHashMap;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Date;

import com.zjcode.oa.model.OaProjectJournal;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface OaProjectJournalMapper {

    int deleteByPrimaryKey(String id);

    int insert(OaProjectJournal record);

    int insertSelective(OaProjectJournal record);

    OaProjectJournal selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(OaProjectJournal record);

    int updateByPrimaryKey(OaProjectJournal record);

    List<OaProjectJournal> selectAllByRecordDatetimeBetweenOrEqualToAndCreateByOrderByCreateTime(@Param("minRecordDatetime") Date minRecordDatetime,
                                                                                                 @Param("maxRecordDatetime") Date maxRecordDatetime,
                                                                                                 @Param("createBy") String createBy);

    List<LinkedHashMap<String, Object>> listByPage(@Param("minRecordDatetime") Date minRecordDatetime,
                                                   @Param("maxRecordDatetime") Date maxRecordDatetime,
                                                   @Param("createBy") String createBy,
                                                   @Param("projectId") String projectId);


    List<OaProjectJournal> selectAllByCreateBy(@Param("createBy") String createBy);

    int insertList(@Param("list") List<OaProjectJournal> list);


}
